import java.util.ArrayList;
import java.util.List;

class Solution1 {
    public List<List<Integer>> shiftGrid(int[][] grid, int k) {
        int row= grid.length;
        int col=grid[0].length;
        int[][] newGrid = new int[row][col];
        List<List<Integer>> result = new ArrayList<>();
        for(int i=0;i<row;i++) {
            for(int n=0;n<col;n++) {
                int j=i;
                int r=n;
                for(int t=0;t<k;t++) {
                    r++;
                    if(r==col) {
                        r=0;
                        j++;
                    } else if(j==row && r==col) {
                        j=0;
                        r=0;
                    }
                }
                newGrid[j][r]=grid[i][n];
            }
        }
        for (int[] rows:newGrid) {
            List<Integer> listRow = new ArrayList<>();
            result.add(listRow);
            for (int v : rows) listRow.add(v);
        }
        return result;
    }
}